home *** CD-ROM | disk | FTP | other *** search
/ 10,000 Great Games / 10,000 Great Games.iso / Product / 66 / data1.cab / Source_Files / Src / Bullet.cpp < prev    next >
C/C++ Source or Header  |  2000-01-16  |  796b  |  47 lines

  1. #include "stdafx.h"
  2.  
  3. cBullet::cBullet(int _x, int _y, fix angle, cGameObject *_owner)
  4.         : cWeapon(_x, _y, bullet, "MOVING")
  5. {
  6.     // Set speed
  7.     
  8.     set_angular_speed(BULLET_SPEED, angle);
  9.     set_angular_acceleration(BULLET_ACC, angle);
  10.     
  11.     // Set other
  12.     
  13.     owner = _owner;
  14.     not_owner_timeout = 2 * sec;
  15.     
  16.     invulnerable = TRUE;
  17.     
  18.     made_trail = sec/10 + rnd(sec/4);
  19. }
  20.  
  21. cBullet::~cBullet()
  22. {
  23. }
  24.  
  25. int cBullet::control()
  26. {
  27.     cWeapon::control();
  28.  
  29.     // Check if we were hit
  30.     
  31.     if (explode)
  32.         return FALSE;
  33.     
  34.     // Create trail
  35.     
  36.     if (!low_detail_level && !made_trail)
  37.     {
  38.         new cEffect (x, y, orig, "TRAIL");
  39.  
  40.         made_trail = sec/10 + rnd(sec/4);
  41.     }
  42.     
  43.     // Check if we hit something or we go off screen
  44.     
  45.     return !check_radial_hit_one(circle_bounds) && on_screen();
  46. }
  47.